/*
 * Copyright (c) 2018-2999 湖南洛云网络科技有限公司 All rights reserved.
 *
 * https://www.gz-yami.com/
 *
 * 未经允许，不可做商业用途！
 *
 * 版权所有，侵权必究！
 */

package com.yami.shop.distribution.comment.service;


import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yami.shop.bean.param.OfflineHandleEventAuditParam;
import com.yami.shop.common.util.PageParam;
import com.yami.shop.distribution.comment.model.DistributionAuditing;
import com.yami.shop.distribution.comment.model.DistributionBasicSet;

/**
 * @author lgh on 2019/04/01.
 */
public interface DistributionBasicSetService extends IService<DistributionBasicSet> {

    /**
     * 获取分销设置
     * @return 分销设置
     */
    DistributionBasicSet getByShopId();

    /**
     * 移除分销设置缓存
     * @param shopId 店铺id
     */
    void removeCacheByShopId(Long shopId);

    /**
     * 分页获取所有店铺的基本设置
     * @param page 分页信息
     * @param distributionBasicSet 分销设置
     * @return 分页获取所有店铺的基本设置
     */
    IPage<DistributionBasicSet> getDistributionBasicSetPage(PageParam<DistributionAuditing> page, DistributionBasicSet distributionBasicSet);

    /**
     * 下线活动
     * @param distributionBasicSet 分销设置
     * @param offlineReason 下线原因
     * @param sysUserId 操作人
     */
    void offline(DistributionBasicSet distributionBasicSet, String offlineReason, Long sysUserId);

    /**
     *  审核分销基本设置
     * @param offlineHandleEventAuditParam 审核信息
     * @param sysUserId 操作人
     */
    void auditDistributionBasicSet(OfflineHandleEventAuditParam offlineHandleEventAuditParam, Long sysUserId);
}
